package wh.ispct

import wh.ispct.util.ExtTreeData
import wh.ispct.util.ExtTreeNode

/**
 * 菜单，信息分类
 * 系统单类容包括（
 * 系统菜单（除【主页】）
 * 天气、
 * 图片新闻
 * 通知通告
 * 	领导信箱
 *     
 * ）
 * 
 * @author zhou
 *
 */
class Menu {
	String name
	
	/**
	 * 系统类别system
	 * 普通内容content
	 * 图片内容img
	 * 链接内容link
	 */
	String type //（系统菜单，不可以删除），普通内容，图片内容，链接内容
	Boolean singleContent=false //可以对应到多个类别
	Boolean visible=true//默认显示
	Integer sort //排序
	
	static belongsTo= [parentMenu : Menu]
	
	static constraints = {
		name unique: true
	}
	
	public static  ExtTreeData<Menu> getTreeData(){
		List<Menu> menuList = Menu.findAll()
		ExtTreeData<Menu> treeData = new ExtTreeData<Menu>()
		treeData.addNodes(menuList,{
			it ->
			def m = it
			def parentId = m.parentMenu==null ? null : m.parentMenu.id.toString()
			ExtTreeNode node = new ExtTreeNode(m.id.toString(),parentId,m.name,m.type,false)
			node.putAt("sort", m.sort)
			node.putAt("visible", m.visible)
			node.putAt("iconCls", m.type + "_icon_menu");
			node.putAt("singleContent", m.singleContent)
			return node
		})
		
		return treeData
	}
}
